/* Premium UI Theme */
:root {
  --brand: #6c5ce7;
  --brand-2: #a29bfe;
  --bg: #0f1220;
  --surface: rgba(255,255,255,0.05);
  --surface-2: rgba(255,255,255,0.08);
  --text: #eaeaf3;
  --muted: #9aa0b4;
  --success: #4cd4a0;
  --danger: #ff6b6b;
  --warning: #ffd166;
  --radius: 14px;
  --shadow: 0 12px 40px rgba(0,0,0,0.35);
}

html, body { height: 100%; }
body { background: radial-gradient(1200px 600px at 10% 0%, #1a1f39 0%, #0f1220 60%), linear-gradient(135deg, #0f1220 0%, #0f1220 100%); color: var(--text); }
.container { max-width: 1100px; }

/* Hero */
.hero {
  margin-top: 24px;
  border-radius: var(--radius);
  padding: 28px;
  background: linear-gradient(135deg, rgba(108,92,231,0.18), rgba(162,155,254,0.14));
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: var(--shadow);
}
.hero-title { font-size: 28px; font-weight: 800; letter-spacing: .2px; }
.hero-sub { color: var(--muted); font-size: 14px; }

/* Card */
.card { border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius); background: var(--surface); backdrop-filter: blur(6px); box-shadow: var(--shadow); }
.card-header { background: transparent; border-bottom: 1px solid rgba(255,255,255,0.08); }
.card-footer { background: transparent; border-top: 1px solid rgba(255,255,255,0.08); }

/* Buttons */
.btn-gradient { background: linear-gradient(135deg, var(--brand), var(--brand-2)); color: #fff; border: 0; }
.btn-gradient:hover { filter: brightness(1.08); }
.btn-soft { background: var(--surface-2); color: var(--text); border: 1px solid rgba(255,255,255,0.12); }
.btn-soft:hover { background: rgba(255,255,255,0.12); }

/* Inputs */
.form-control { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12); color: var(--text); }
.form-control::placeholder { color: var(--muted); }
.form-control:focus { border-color: var(--brand-2); box-shadow: 0 0 0 3px rgba(162,155,254,0.2); }

/* Table */
.table { color: var(--text); }
.table thead { background: rgba(255,255,255,0.06); }
.table thead th { border-color: rgba(255,255,255,0.08); font-weight: 700; }
.table tbody tr { transition: all .2s ease; }
.table tbody tr:hover { background: rgba(255,255,255,0.06); }
.table td, .table th { border-color: rgba(255,255,255,0.06); }
.file-icon { margin-right: 8px; color: var(--brand-2); }

/* Badges */
.badge { border-radius: 999px; }
.badge-soft { background: rgba(108,92,231,0.15); color: #dfe0fa; border: 1px solid rgba(108,92,231,0.35); }

/* Pagination */
.pagination .page-link { color: #dfe0fa; background: var(--surface-2); border: 1px solid rgba(255,255,255,0.10); }
.pagination .page-link:hover { color: #fff; background: rgba(255,255,255,0.14); }
.page-item.active .page-link { background: linear-gradient(135deg, var(--brand), var(--brand-2)); border: 0; }
.page-item.disabled .page-link { color: var(--muted); }

/* Empty */
.empty-state { padding: 28px; text-align: center; color: var(--muted); }
.empty-state i { font-size: 32px; display: block; margin-bottom: 8px; color: var(--brand-2); }

/* Header */
.navbar { backdrop-filter: blur(8px); background: rgba(255,255,255,0.06)!important; border-bottom: 1px solid rgba(255,255,255,0.08)!important; }
.navbar .nav-link { color: var(--text); }
.navbar .nav-link:hover { color: #fff; }

/* Footer */
footer { backdrop-filter: blur(8px); background: rgba(255,255,255,0.06); border-top: 1px solid rgba(255,255,255,0.08); }
.small.text-secondary { color: var(--muted)!important; }

/* Utility */
.text-muted { color: var(--muted)!important; }
.text-primary { color: var(--brand)!important; }
